#ifndef DX11VERTEXDATA_H
#define DX11VERTEXDATA_H

#include <d3d11.h>
#include <dxgi.h>
#include <D3DX10math.h>

class VertexData
{
public:
	VertexData() {};
	VertexData(D3DXVECTOR3 pos, D3DXVECTOR2 texCoord, D3DXVECTOR3 normal)
	{
		m_pos = pos;
		m_texCoord = texCoord;
		m_normal = normal;
	}
	VertexData(D3DXVECTOR3 pos, D3DXVECTOR2 texCoord, D3DXVECTOR3 normal, D3DXVECTOR3 tangent, D3DXVECTOR3 binormal)
	{
		m_pos = pos;
		m_texCoord = texCoord;
		m_normal = normal;
		m_tangent = tangent;
		m_binormal = binormal;
	}
	void VertData(D3DXVECTOR3 pos, D3DXVECTOR2 texCoord, D3DXVECTOR3 normal, D3DXVECTOR3 tangent, D3DXVECTOR3 binormal)
	{
		m_pos = pos;
		m_texCoord = texCoord;
		m_normal = normal;
		m_tangent = tangent;
		m_binormal = binormal;
	}

	void operator= (const VertexData rh)
	{
		m_pos = rh.m_pos;
		m_texCoord = rh.m_texCoord;
		m_normal = rh.m_normal;
		m_tangent = rh.m_tangent;
		m_binormal = rh.m_binormal;
	}

	//void VertData(D3DXVECTOR3 pos, D3DXVECTOR2 texCoord, D3DXVECTOR3 normal, D3DXVECTOR3 tangent)
	//{
	//	m_pos = pos;
	//	m_texCoord = texCoord;
	//	m_normal = normal;
	//	m_tangent = tangent;
	//}

public:
    D3DXVECTOR3 m_pos;
	D3DXVECTOR2 m_texCoord;
	D3DXVECTOR3 m_normal;
	D3DXVECTOR3 m_tangent;
	D3DXVECTOR3 m_binormal;
};

#endif DX11VERTEXDATA_H